Android 使用gson解析接口数据 您所在的位置:网站首页 gson jar包 Android 使用gson解析接口数据

Android 使用gson解析接口数据

#Android 使用gson解析接口数据| 来源: 网络整理| 查看: 265

Android 使用gson解析接口数据 原创

wx593c0904b74d6 2023-04-08 06:15:39 博主文章分类:Android ©著作权

文章标签 android gson xml ide 文章分类 Python 后端开发

©著作权归作者所有:来自51CTO博客作者wx593c0904b74d6的原创作品,请联系作者获取转载授权,否则将追究法律责任

Android 使用gson解析接口数据

简要

据上一篇简述OkHttp的post请求方法,在总结那简单说了一下怎样获取数据后再赋值到页面上,现在展开说一下。

xml代码如下:

导入谷歌的gson.jar包 (获取该jar包,搜索《轻语积累》公众号,回复gson关键字)。 将jar包复制到该文件夹下,然后右键选择 Add As Library 进行导入即可

Android 使用gson解析接口数据_xml

代码实现

MainActivity.java代码如下:

package com.example.okhttp_tool; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.example.okhttp_tool.entity.UserInfo; import com.example.okhttp_tool.utils.OkHttpTool; import com.google.gson.Gson; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Response; public class MainActivity extends AppCompatActivity { TextView tv_name,tv_age; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); getUserInfo(); } //初始化控制 private void initView() { tv_name=findViewById(R.id.tv_name); tv_age=findViewById(R.id.tv_age); } public void getUserInfo(){ String name="张三"; OkHttpTool.postUserInfo(name, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String str=response.body().string(); runOnUiThread(new Runnable() { @Override public void run() { Gson gson=new Gson(); UserInfo userInfo=gson.fromJson(str,UserInfo.class); tv_name.setText(userInfo.getName()); tv_age.setText(userInfo.getAge()); } }); } }); } }

UserInfo.java代码

package com.example.okhttp_tool.entity; import java.io.Serializable; public class UserInfo implements Serializable { private Integer id; private String name; private Integer age; //以下是set和get方法 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }

OkHttpTool.java代码

package com.example.okhttp_tool.utils; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; public class OkHttpTool { final static String url="http://127.0.0.1/userInfo/get"; public static void postUserInfo(String name, Callback callback){ //1.创建OkHttpClient对象 OkHttpClient okHttpClient = new OkHttpClient(); //2.创建一个RequestBody,可以用add添加键值对 RequestBody requestBody = new FormBody.Builder() .add("name", name) .build(); //3.创建Request对象,设置URL地址,将RequestBody作为post方法的参数传入 Request request = new Request.Builder().url(url).post(requestBody).build(); //4.创建一个call对象,参数就是Request请求对象 okHttpClient.newCall(request).enqueue(callback); } }

总结

以上便是使用gson解析接口数据的方法,如果接收的数据是list数组形式,方法如下:

Gson gson=new Gson(); UserInfo[] userInfo=gson.fromJson(str,UserInfo[].class);

收藏 评论 分享 举报

上一篇:android videoview视频铺满屏幕

下一篇:Android OkHttp之post请求方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有